package com.sisSaude.calculators;


public class AvaliacaoFisicaCalculator {

/*	private AvaliacaoAntropometrica avaliacao = null;
	private Aluno aluno = null;

	public static void calcula(AvaliacaoAntropometrica avaliacao, Aluno aluno) {
		AvaliacaoFisicaCalculator calculator = new AvaliacaoFisicaCalculator(avaliacao, aluno);
		calculator.calculaAvaliacao();
	}

	private AvaliacaoFisicaCalculator(AvaliacaoAntropometrica avaliacao, Aluno aluno) {
		this.avaliacao = avaliacao;
		this.aluno = aluno;
	}

	private void calculaAvaliacao() {
		zeraValores();
		if (aluno == null || aluno.getId() == 0)
			return;
		calculaDensidade();
		calculaGordura();
		calculaMassaDeGordura();
		calculaMassaMagra();
		calculaAbsoluta();
		calculaSobrePeso();
		calculaPesoAlvo();
		calculaRcq();
	}

	*//**
	 Sexo Feminino:
	 densidade = 1.02902361 - 0.00067159 * (se + tr + sio + pam) + 0.00000242
	 * (sqr(se+tr+sio+pam)) - 0.00026073* id - 0.00056009 * mc + 0.00054649 *
	 es
	
	 Sexo Masculino:
	 densidade = 1.10726863 - 0.00081201 * (se+tr+sio+pam) + 0.00000212 *
	 (sqr(se+tr+sio+pam)) - 0.00041761 * id
	 *//*
	private void calculaDensidade() {
		double densidade = 0;
		if (aluno.getSexo().isFeminino()) {
			densidade = 1.02902361
					- 0.00067159
					* (avaliacao.getSe() + avaliacao.getTr()
							+ avaliacao.getSio() + avaliacao.getPam())
					+ 0.00000242
					* (Math.sqrt(avaliacao.getSe() + avaliacao.getTr()
							+ avaliacao.getSio() + avaliacao.getPam()))
					- 0.00026073 * aluno.getIdade() - 0.00056009
					* avaliacao.getMassaCorporal() + 0.00054649
					* avaliacao.getEstatura();
		} else if (aluno.getSexo().isMasculino()) {
			densidade = 1.10726863
					- 0.00081201
					* (avaliacao.getSe() + avaliacao.getTr()
							+ avaliacao.getSio() + avaliacao.getPam())
					+ 0.00000212
					* (Math.sqrt(avaliacao.getSe() + avaliacao.getTr()
							+ avaliacao.getSio() + avaliacao.getPam()))
					- 0.00041761 * aluno.getIdade();
		}
		avaliacao.setDensidade(densidade);
	}
	private void calculaGordura() {
		double gordura = 0;
		gordura = 495 / avaliacao.getDensidade() - 450;
		avaliacao.setGordura(gordura);
	}
	private void calculaMassaDeGordura() {
		double massaDeGordura = 0;
		massaDeGordura = avaliacao.getGordura() / 100 * avaliacao.getMassaCorporal();
		avaliacao.setMassaDeGordura(massaDeGordura);
	}
	private void calculaMassaMagra() {
		double massaMagra = 0;
		massaMagra = avaliacao.getMassaCorporal() - avaliacao.getMassaDeGordura();
		avaliacao.setMassaMagra(massaMagra);
	}
	private void calculaAbsoluta() {
		double absoluta = 0;
		absoluta = 100 - avaliacao.getGordura();
		avaliacao.setAbsoluta(absoluta);
	}
	private void calculaSobrePeso() {
		double sobrePeso = 0;
		sobrePeso = avaliacao.getMassaCorporal() - avaliacao.getPesoAlvo();
		avaliacao.setSobrePeso(sobrePeso);
	}
	private void calculaPesoAlvo() {
		double pesoAlvo = 0;
		pesoAlvo = (1 / (1 - avaliacao.getGa() / 100)) * avaliacao.getMassaMagra();
		avaliacao.setPesoAlvo(pesoAlvo);
	}
	private void calculaRcq() {
		int rcq = 0;
		if ((avaliacao.getPc() > 0) && (avaliacao.getPgl() > 0))
			rcq = (int) (avaliacao.getPc() / avaliacao.getPgl());
		avaliacao.setRcq(rcq);
	}
	private void zeraValores() {
		this.avaliacao.setDensidade(0);
		this.avaliacao.setGordura(0);
		this.avaliacao.setMassaDeGordura(0);
		this.avaliacao.setMassaMagra(0);
		this.avaliacao.setAbsoluta(0);
		this.avaliacao.setSobrePeso(0);
		this.avaliacao.setPesoAlvo(0);
		this.avaliacao.setRcq(0);
	}*/
}
